home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / tpepkg.zip / TPE.DOC < prev    next >
Text File  |  1991-06-10  |  33KB  |  699 lines

  1.  
  2.  ----------------------------------------------------------------------------
  3.  
  4.  
  5.          TERMINAL PROCEDURES EDITOR AND DISPLAY MODULE DOCUMENTATION
  6.  
  7.                          VERSION 1.0  (BETA TEST)
  8.  
  9.                                June 8, 1991
  10.  
  11.  
  12.  ----------------------------------------------------------------------------
  13.  
  14.  
  15.  Package information and goals: 
  16.  ------------------------------
  17.  
  18.          Contents of this zipped package are: 1. A graphics editor 
  19.      <TPE_ED.EXE> for the purpose of creating high resolution graphics
  20.      images similar to those contained in the volumes of U.S. TERMINAL
  21.      PROCEDURES. 2. A data file display module <TPE_DM.EXE> for viewing
  22.      completed images. 3. Five example image data files <SJC.TPE> - 
  23.      <QUIET1.TPE> - <FROGO6.TPE> - <SJCAPT.TPE> and <USER.SHP>. 4. a 
  24.      documentation file <TPE.DOC> which explains how to use the editor
  25.      and display module. I wrote this package to facilitate information
  26.      transfer between people who enjoy flying aircraft on computer flight
  27.      simulators. The coded images of SID plates - APPROACH plates and 
  28.      AIRPORT DIAGRAM plates are of relatively small size and are transmitted
  29.      quickly over information networks.
  30.  
  31.  
  32.  
  33.  Overview of the editor <TPE_ED.EXE>.
  34.  ------------------------------------
  35.  
  36.          The editor is capable of creating plate images in 16 colors. There
  37.      are three border types you can use. You can enter lines - circles and
  38.      shapes in graphics mode. There is a library of typical graphics shapes
  39.      which is user expandable. You can enter text from an altered/limited 
  40.      character set of upper or lower case letters in text input mode. The 
  41.      actual drawing area is 640 x 750 lines. The portion of the image off
  42.      the display screen is written to - or viewed - by scrolling. In graphics
  43.      mode - a bounded region fill routine is available - its capabilities are
  44.      limited. The editor is able to write or retreive image files to/from
  45.      disk storage. You can resume editing a saved image once it is re-loaded.
  46.      On SID plates you can store multiple pages of text info in the lower
  47.      pane. You can delete mistakes you make when editing. You will be
  48.      prompted via a selection menu for input and output file names.
  49.  
  50.  
  51.  
  52.  Overview of the display module <TPE_DM.EXE>.
  53.  --------------------------------------------
  54.  
  55.          The display module is capable of writing plate data image files to
  56.      the display screen. Once the file is showing on the screen you are able
  57.      to scroll the image up or down. All pages of text (5) in the bottom pane
  58.      of a SID type plate image are able to be displayed. This module should
  59.      be packaged with any image files you generate. You will be prompted via
  60.      a selection menu for input file names.
  61.           
  62.  
  63.  
  64.  Example image file <SJCAPR.TPE>.
  65.  --------------------------------
  66.  
  67.          This image is an approach plate for ILS Runway 12R at San Jose
  68.      International Airport. It does contain a few errors. Sorry! 
  69.  
  70.  Example image file <SJCAPT.TPE>.
  71.  --------------------------------
  72.  
  73.          A diagram of San Jose Airport. This is incomplete and intended to
  74.      to show editor capabilities and limitations only. Even though I wrote
  75.      this thing - I am still learning how to use it.
  76.  
  77.  Example image file <QUIET1.TPE>.
  78.  --------------------------------
  79.  
  80.          A Standard Instrument Departure for San Francisco International
  81.      airport. I am pretty sure that this image has few or no informational
  82.      errors.
  83.  
  84.  Example image file <FROGO6.TPE>.
  85.  --------------------------------
  86.  
  87.          A Sacramento Metro SID. I used this image as a test of the delete
  88.      function. It's an added bonus! In ATP using IPS WEST you might have 
  89.      some difficulty hanging on to MYV on 110.8! You will lose the signal
  90.      just before you intercept the R-154 radial!
  91.  
  92.  
  93.  Example user shape file <USER.SHP>.
  94.  -----------------------------------
  95.  
  96.          An example user shape file. Thiss example file contains only one
  97.      shape. When the editor starts up it looks for a file of this name. If
  98.      it finds the file it will load the additional shape bit patterns in it
  99.      and make them avilable when you use the editor. Please read file format
  100.      information further down.
  101.  
  102.  
  103.  The documentation file <TPE.DOC>.
  104.  ---------------------------------
  105.  
  106.          Please TYPE out this file or make notes before running the editor
  107.      or you'll get lost. There is no on-line help in this version. I always
  108.      seem to find out that writing documentation is tougher than the actual
  109.      programming. Please excuse any mis-information or omissions.
  110.  
  111.  
  112. -----------------------------------------------------------------------------
  113. -----------------------------------------------------------------------------
  114.  
  115.  Starting the editor:
  116.  --------------------
  117.  
  118.          To start the editor just type TPE_ED <CR>. You should see an image
  119.      of a Boeing 747 on short final accompanied by the editor logo build up
  120.      on the screen. For the next few seconds the image will darken as night
  121.      falls. When those running lights are burning brite press any key to
  122.      clear the intro and bring up the main menu. All initial plate type
  123.      choices - file save/load operations and a display option are selected
  124.      from the main menu via function keys <F1> to <F10>. 
  125.  
  126.  Main menu choices:
  127.  ------------------
  128.  
  129.          <F1> Begin a new SID plate. Pressing this key will remove the main
  130.      menu from the screen and draw a two pane SID plate border. After the
  131.      border appears you can begin editing.
  132.  
  133.          <F2> Begin a new AIRPORT DIAGRAM plate. Pressing this key will
  134.      remove the main menu and draw a one pane general border. Although this
  135.      is advertised as an AIRPORT DIAGRAM border - it is intended as a basis
  136.      for your own custom pane layouts. If you should do this please note the
  137.      section further down about cursor movement.
  138.  
  139.          <F3> Begin a new approach plate. Pressing this key will remove the
  140.      main menu from the screen and draw a four pane APPROACH PLATE type
  141.      border. 
  142.  
  143.          <F4> Load and display an image file from disk storage. When the
  144.      file is loaded you can scroll the image. Display it from the top down
  145.      or from the bottom up. If it is a SID type plate you can scroll through
  146.      up to five pages of text in the bottom pane. Pressing the <ESC> key
  147.      will return you to the main menu. Use of this key disables editing
  148.      functions. It is intended to duplicate the actions of the display module
  149.      <TPE_DM.EXE>. If there are no files in the current directory with a
  150.      TPE extender then an error message will appear.
  151.  
  152.          <F5> Load and display an image file from disk storage. Using this
  153.      key to load an image allows you to continue editing after the file is
  154.      loaded. Editing functions are fully functional after the image is up
  155.      on the display. You can add more items to the image. If there are no
  156.      files to be loaded with a TPE extender in the current directory an error
  157.      message will appear.
  158.  
  159.          <F6> Save the current image to a disk file. If you press this key
  160.      the main menu will be replaced by a file name input box. You can enter
  161.      a filename of 8 characters or less. The editor will add a <TPE> extender
  162.      to the name you type. A check is made for duplicate filnames. An error
  163.      message will be generated if this occurs. If there is no information
  164.      in the display list to be saved an error message will also appear. You
  165.      can accumulate a display list 12K in length. Do not exceed this limit.
  166.      no check is made on size. It's really plenty of of space! Even very 
  167.      cluttered SIDs are using only about 4k in this version.
  168.  
  169.  
  170.          <F7> Reserved for future expansion.
  171.  
  172.          <F8> Reserved for future expansion.
  173.  
  174.          <F9> Reserved for future expansion.
  175.  
  176.         <F10> Quit the editor and return to DOS. 
  177.  
  178.  
  179.      NOTE: To get back to the main menu at almost any any time press the 
  180.            <ESC> key!
  181.  
  182.      NOTE: As soon as the main menu disappears - all function keys are
  183.            redefined.
  184.  
  185.                  
  186.  The STATUS LINE at the TOP of the display:
  187.  ------------------------------------------
  188.  
  189.          At the top of the display you can see information that will assist
  190.      you in editing. From left to right here is what you see: Two groups of
  191.      three digits each. This is the X-Y coordinates of the graphics cursor.
  192.      The graphics cursor is the small white dot a little farther down the
  193.      screen. The default position is 100 100. Directly after the coordinates
  194.      is a colored patch. This is the current drawing color. All lines -
  195.      circles - shapes - region fills - and text will be drawn in this color
  196.      until you change it! To the right of the color patch is the current
  197.      shape symbol. The default symbol is my representation of a VOR. Next
  198.      to the right is text stating the plate type you have selected. After
  199.      this comes the mode state. The default mode is <GR> - graphics entry
  200.      mode. The other available mode is <TX> - text entry mode. In certain
  201.      instances when in <TX> mode you will see a page indicator after the
  202.      mode state. It will look like this: <P#>. Understanding the status line
  203.      is the key to using the editor. In some instances - plate header text
  204.      will be apparently inter-mingled with status information. This only
  205.      happens when the editor is running. As you edit a plate image I would
  206.      suggest that the header text is the last thing you enter. 
  207.  
  208.  SHIFTING the IMAGE on the display:
  209.  ----------------------------------
  210.  
  211.          When you start editing an image - all you can see are the first
  212.      480 lines. To shift the image up and down use function keys <F7> <F8>
  213.      <F9> and <F10>. Keys F7 and F8 scroll the display up and down 20 lines
  214.      at a time. Function key F9 shows the image from the top down. Function
  215.      key F10 shows the image from the bottom up. HINT: If you are working 
  216.      on the bottom section of an image the status line may not be visible.
  217.      Using <F9> can always give you a quick peek at it. <F10> will then
  218.      return you to the bottom section of the image.  
  219.  
  220.  Moving the DOT CURSOR:
  221.  ----------------------
  222.  
  223.          The DOT CURSOR is used to enter graphics information to the image.
  224.      1. It defines the start and end points of all lines. 2. It defines the
  225.      center of a circle and any point on its radius. 3. It defines the 
  226.      location of a shape. 4. It defines the seed location for a region fill.
  227.      
  228.          To move the DOT CURSOR use the UP/DOWN/LEFT/RIGHT arrow keys. Any
  229.      problem with movement check the <NUMLOCK> key. As you move the cursor
  230.      notice that the X-Y coordinates on the top status line are changing.
  231.      The cursor position is monitored and it will not be allowed to cross
  232.      any pane or border boundary lines. See below for - how to change panes.
  233.      You can move the cursor off the visible screen and still monitor its
  234.      movement using the X-Y coordinate information. Sometimes this comes in
  235.      handy. 
  236.  
  237.  Changing to the TEXT CURSOR:
  238.  ----------------------------
  239.  
  240.          To change to the text cursor press the <F2> key. The DOT CURSOR
  241.      will disappear and be replaced by a short horizontal line - this is
  242.      the TEXT CURSOR. Any text you type will appear ABOVE this cursor line
  243.      and as each character is typed the cursor will advance one position. 
  244.      The text cursor position is monitored and - once again - it will not
  245.      be permitted to cross a pane or border boundary line. Its movements
  246.      are more jumpy than the DOT CURSOR'S so get used to it! Also look at
  247.      the status line on the top of the display to see that the mode has
  248.      changed from <GR> to <TX>. NOTE: The X-Y information is meaningless
  249.      when in text mode. 
  250.  
  251.  Changing back to the DOT CURSOR:
  252.  --------------------------------
  253.  
  254.          Press <F2> again!
  255.  
  256.  
  257.  Moving the DOT CURSOR or TEXT CURSOR across a pane boundary:
  258.  ------------------------------------------------------------
  259.  
  260.          Press the <F5> key to shift the cursor - whatever its type - to
  261.      the next available pane. Repeated use of the <F5> key will cycle the
  262.      cursor through available panes. NOTE: As you cycle through available
  263.      panes notice that all three plate types have a NOT SO OBVIOUS PANE at
  264.      the top of the screen. There is room there for two lines of TEXT. This
  265.      is for creating the plate header. Be aware that although this
  266.      information is written over the status line - it will be displayed
  267.      properly on a finished image. In this version of the editor you can
  268.      see enough of what's going on to complete these two header lines 
  269.      despite the status info. Version 2.0 will resolve this conflict. 
  270.  
  271.  Changing the drawing COLOR:
  272.  ---------------------------
  273.  
  274.          Press the <F1> key to cycle through available drawing colors.
  275.      The color patch on the status line will change to the new color. The
  276.      editor code modifys the VGA DAC color registers to provide a more
  277.      suitable color selection for drawing images. There are some dimmer
  278.      blues and greens intended for land and ocean filled regions on color
  279.      approach plates. 
  280.  
  281.  Changing the current SHAPE:
  282.  ---------------------------
  283.  
  284.          To change to the next available graphics shape press the <F4> key.
  285.      As the shape is changed the shape symbol on the status line will
  286.      reflect it. There are 24 shapes in the default library. When the
  287.      editor is started it looks for a file called <USER.SHP>. If it finds
  288.      this file - and it has the correct format - the user file shape data
  289.      is added to the default shape library. A maximum of 50 total shapes are 
  290.      allowed. Shapes are 16 bits wide by 9 lines.
  291.  
  292.  Drawing a SHAPE at the DOT CURSOR position:
  293.  -------------------------------------------     
  294.  
  295.          Shapes can only be drawn when in graphics <GR> mode! To draw the
  296.      current shape at the cursor position press the <F3> key. An attempt is
  297.      made to center the shape on the dots position. The shape will be drawn
  298.      in the current drawing color! NOTE: If the position of the DOT CURSOR
  299.      would cause the shape to cross a pane or border boundary it will not be
  300.      drawn. If this happens just move the dot in a couple of pixels and try
  301.      again! 
  302.  
  303.  Drawing a LINE:
  304.  ---------------
  305.  
  306.          Lines can only be drawn when in graphics <GR> mode! To draw a line
  307.      first specify its starting point by moving the DOT CURSOR with the
  308.      arrow keys then press the "s" key. Caps or lower case will not matter!       
  309.      Now move the cursor to the line's end point and press the "e" key. A
  310.      line will connect the two points in the current drawing color. Notice
  311.      a small white dot was left at the start point for user reference.
  312.  
  313.          A couple other important concepts: You can initiate a line at the
  314.      top of the screen by pressing the "s" key - then scroll the screen using
  315.      the <F7> <F8> <F9> <F10> keys so that the start point is no longer
  316.      visible and move the DOT CURSOR to this section of the screen and select
  317.      the line end point by pressing the "e" key. The line will connect the
  318.      two points with no problem. It's all one big drawing area!
  319.  
  320.          You can cascade line entry. After you draw a line you can move the
  321.      dot cursor to the next line end point and press the "e" key. It is not
  322.      necessary to press the "s" key. This is useful for drawing coast lines 
  323.      or curved lines. Then cascaded line can be of a different color if you
  324.      want. Use the <F1> key to select a new drawing color before you press
  325.      the "e" key. 
  326.  
  327.  Drawing a CIRCLE:
  328.  -----------------
  329.  
  330.          Circles can only be drawn when in graphics <GR> mode! To draw a 
  331.      circle - position the DOT CURSOR at the center of the circle and press
  332.      the "c" key. Now move the DOT CURSOR to any point on the radius of the
  333.      circle and press the "r" key. A circle will be drawn in the current
  334.      drawing color. Notice that the circle is clipped at pane and border
  335.      boundary lines. After you have selected a circle center and moved the
  336.      cursor to any point on the radius a white dot will be left at circle
  337.      center for user reference. The dot will still be there after the circle 
  338.      drawn. This dot will not appear in a finished image.
  339.  
  340.  Filling a REGION:
  341.  -----------------
  342.  
  343.          This function is only intended for airport diagrams and approach
  344.      plates. It is NOT very smart. Several seeds may be necessary to fill
  345.      very irregular regions. It only fills BLACK areas. It will NOT fill
  346.      colored areas. Make sure the area you are filling is completely
  347.      bounded by some color other than black! Do fills early in your design
  348.      so that if it screws up - you can start over! Please read my fill
  349.      hints and suggestions below.
  350.  
  351.          Now that the fill routine's limitations and hazards have been
  352.      explained! To fill a region place the DOT CURSOR at the SEED location
  353.      and press the "f" key. OFF SHE GOES! In the current drawing color. 
  354.      Please practice with this a little before you use it a lot. I am 
  355.      working on improvements.
  356.  
  357.  Entering TEXT:
  358.  --------------
  359.  
  360.      A BIG NOTE: This will be different from what you are used to because
  361.      of the way text records are stored in the display list in system RAM.
  362.      The carriage return key does NOTHING! To stop a text entry just press
  363.      any cursor movement arrow key. This closes out the record and starts
  364.      a new one whether it's a 1 character string or a multi character
  365.      string! 
  366.  
  367.          Make sure that you are in text <TX> mode. Remember the <F2> key
  368.      changes between text and graphics entry modes. Put the TEXT CURSOR
  369.      where you want to enter some text and start entering characters. 
  370.  
  371.          The only other key affecting text entry is the backspace key.
  372.      As soon as you type a character you may backspace it away. Backspace
  373.      only works until it reaches where you began typing a line of text.
  374.  
  375.  Changing text pages in a SID bottom pane:
  376.  -----------------------------------------
  377.  
  378.          If you are in text entry mode <TX> and you are editing a SID
  379.      type image and the text cursor is in the lower pane (three conditions).
  380.      You will be able to select five different pages in which to enter 
  381.      text using the <PAGE UP> and <PAGE DOWN> keys. The default page is
  382.      number one. The top status line will show <P#> after the <TX> mode
  383.      indicator when this option is active.
  384.  
  385.  About entering text:
  386.  --------------------
  387.  
  388.      NOTE: Once you move the cursor - the text record is closed out in 
  389.      display list RAM memory. A new one begins as soon as you type another
  390.      character. It takes a little getting used to. It's really easier this
  391.      way where there are lots of short little lines of text all over the
  392.      place.
  393.  
  394.  BACKSPACE key:
  395.  --------------
  396.  
  397.      NOTE: After you have started entering text characters the backspace
  398.      function is available. It will only backspace to the start of a line 
  399.      of text characters and no further. If you just see the text cursor
  400.      by itself ready to start a line - the backspace will do nothing. There
  401.      is a backsapce BUG I know about in the program and have not as yet
  402.      fixed. If you type a line of text all the way to the right border -
  403.      further text entry becomes blocked - the only way to enter more text
  404.      at this point is to use one of the arrow keys and move the text cursor.
  405.      In this - border locked condition - the backspace key operates okay
  406.      but the text cursor and characters on the screen are not updated as
  407.      you backspace. Keep the text cursor away from the position adjoining
  408.      the right border and you will encounter no problems. 
  409.  
  410.  
  411.  UNDOING what you have done:
  412.  ---------------------------
  413.  
  414.          When you are in graphics or text entry modes pressing the <F6>
  415.      key will remove the last item you entered from the image. This is
  416.      accomplished by resetting the EOF marker and then re-writing the image.
  417.      Multiple presses of the <F6> key should back you all the way through
  418.      the image to the first item you entered. Be nice! Try to validate each
  419.      item you enter. If you make a boo boo erase it and re-enter it. Once 
  420.      you save a file you cannot back past the original EOF. If you add more 
  421.      display list items you will be able to delete back through the added
  422.      records only.
  423.      
  424.  
  425. -----------------------------------------------------------------------------
  426. -----------------------------------------------------------------------------
  427.  
  428.  
  429.                      ADDITIONAL INFORMATION AND NOTES
  430.  
  431.  
  432.  Starting the DISPLAY MODULE:
  433.  ----------------------------
  434.  
  435.          To start the display module just type TPE_DM <CR>. A small menu 
  436.      will appear asking for the name of the file to load and display. If 
  437.      the internal file header indicates an incorrect format - it will not
  438.      be loaded. Once the file is validated and loaded - the image will be
  439.      displayed. 
  440.             
  441.  SHIFTING the image:
  442.  -------------------
  443.  
  444.          There is a subtle difference between shifting the image here and
  445.      on the editor. To scroll the image up or down 20 lines at a time use
  446.      the <UP> <DOWN> arrow keys. To view the image from the top-down press
  447.      the <HOME> key. To view the image from the bottom-up press the <END>
  448.      key. If this image is a SID plate with 5 pages of text in the bottom 
  449.      pane - pressing the <PAGE UP> or <PAGE DOWN> keys will cycle through
  450.      the pages. 
  451.  
  452.  CHOOSING an input file:
  453.  -----------------------
  454.  
  455.          When the load menu appears use the spacebar to cycle through all
  456.      available files with TPE extenders. When you get the one you want in
  457.      the red window press the carriage return key. That fille will be 
  458.      loaded and displayed. If the message "NO TPE FILES" appears in the red
  459.      window - it means that no valid image files were found! Press any key
  460.      to return to DOS.
  461.  
  462.      
  463.  EXITING the display module.
  464.  ---------------------------
  465.  
  466.          If you decide not to load an image and want to quit to DOS just
  467.      press the ESC key.
  468.  
  469.  
  470.  INCLUDING display module with image files:
  471.  ------------------------------------------
  472.  
  473.          It is intended that the display module (only about 6K of code)
  474.      be packaged up with any image files - and used for viewing them. So
  475.      if you create an approach plate for your favorite airport and transfer
  476.      it around - please zip up the display module with it! 
  477.  
  478.  INCLUDING the file USER.SHP:
  479.  ---------------------------
  480.  
  481.          If you use an expanded shape library when drawing your image please
  482.      include your file <USER.SHP> with the image file. The editor or the
  483.      display module look for this file when they start up and will load its
  484.      contents. If you try to display an image using an expanded shape 
  485.      library and this file is missing - any expanded shapes used in the image
  486.      will NOT be written. I had intended to include the shape library -
  487.      default or expanded - with each image. Maybe in V2.0.
  488.  
  489.  
  490. -----------------------------------------------------------------------------
  491. -----------------------------------------------------------------------------
  492.  
  493.  
  494.           EXPLANATION OF THE FILE FORMAT FOR THE DISPLAY LIST
  495.  
  496.  
  497.      The first three bytes of the file are <TPE>. This will act as kind
  498.      of pre-filter to exclude files which do not contain display list data. 
  499.  
  500.      The next word (2 bytes) in the file is the border type number. This 
  501.      indicates to the display processor what type of border and pane layout
  502.      to draw and which set of cursor movement minimums and maximums to load.
  503.      The min/max is also used to determine circle clipping. 
  504.  
  505.      Next follows a sequence of records of different formats and lengths.
  506.      They are read and processed by the display processor sequentially.
  507.  
  508.      After all the display records comes a single byte <0FFH>. This indicates
  509.      the end of all display records. Hope it's always there! Disaster is
  510.      guaranteed if this record termination byte is missing. 
  511.  
  512.      Lines - circles - shapes - and region fill seeds are all fixed length
  513.      records. Text records are of variable length. Record types can occur in
  514.      any order. Once again I mention that records are processed sequentially. 
  515.  
  516.      A record begins with a code byte indicating what type of record it is.
  517.      The display processor reads this byte to determine how to process the
  518.      record. All coordinate data is 16 bit word integer type.
  519.  
  520.  line record format:
  521.  -------------------
  522.  
  523.      <DB> --- code byte 000h - indicates that this is a line record.
  524.      <DW> --- line begin x-coordinate
  525.      <DW> --- line start y-coordinate
  526.      <DW> --- line end   x-coordinate
  527.      <DW> --- line end   y-coordinate
  528.      <DB> --- line color
  529.      <DB> --- line style
  530.  
  531.  circle record format:
  532.  ---------------------
  533.  
  534.      <DB> --- code byte 001h - indicates that this is a circle record. 
  535.      <DW> --- circle center x-coordinate
  536.      <DW> --- circle center y-coordinate
  537.      <DW> --- circle variable a
  538.      <DW> --- circle variable b
  539.      <DW> --- dcx max clip value
  540.      <DW> --- dcy max clip value
  541.      <DW> --- dcx min clip value
  542.      <DW> --- dcy min clip value
  543.      <DB> --- circle color
  544.  
  545.  shape record format:
  546.  --------------------
  547.  
  548.      <DB> --- code byte 002h - indicates that this is a shape record.
  549.      <DW> --- shape x-coordinate
  550.      <DW> --- shape y-coordinate
  551.      <DW> --- shape number
  552.      <DB> --- shape color
  553.  
  554.  region fill record format:
  555.  --------------------------
  556.  
  557.      <DB> --- code byte 003h - indicates that this is a region fill record.
  558.      <DW> --- fill seed x-coordinate
  559.      <DW> --- fill seed y-coordinate
  560.      <DB> --- seed color
  561.  
  562.  text record format:
  563.  -------------------
  564.  
  565.      <DB> --- code byte 004h - indicates that this is a text record.
  566.      <DW> --- x-coordinate of upper left bit of string start
  567.      <DW> --- y-coordinate of upper left bit of string start
  568.      <DW> --- count of actual characters in the string
  569.      <DW> --- page number of text string (0) or (1-5)
  570.      <DB> --- text color
  571.      <DB> --- text character  .......  until count is reached! 
  572.  
  573.  
  574.  
  575. -----------------------------------------------------------------------------
  576. -----------------------------------------------------------------------------
  577.  
  578.  
  579.            EXPLANATION OF THE FILE FORMAT FOR A USER SHAPE FILE
  580.  
  581.  
  582.      The first three bytes of the file must be ASCII letters <TPE>. The
  583.      next byte is an 8 bit integer that describes how many new additional
  584.      shapes are contained in the file. Next follows bytes describing the
  585.      bit pattern of the shape. Shapes are 16 bits wide by (9) lines. Thus 
  586.      - each shape will be represented by 18 bytes. The number of shapes 
  587.      loaded is limited during the file read. If you think you can specify 
  588.      300 different shapes - WRONG! - you are limited to 50 total! Default
  589.      plus user. There is a file included in the package called <USER.SHP>
  590.      use DEBUG or something like that to examine its contents. I was going
  591.      to write a shape editing package similar to windows icon editors but
  592.      right now I do not have the time!
  593.  
  594.  
  595. -----------------------------------------------------------------------------
  596. -----------------------------------------------------------------------------
  597.  
  598.  
  599.                   A FEW TIPS AND HINTS FOR DRAWING IMAGES
  600.  
  601.                          
  602.    1. Even at 640 X 480 VGA resolution images can become cluttered quickly!
  603.      Make images of the less complicated plates at first. Even then - you 
  604.      might have to use a little license and even leave something out to make
  605.      them look good. The coding    in the editor is open ended so I might try
  606.      for increased resolution graphics modes in some future version.
  607.  
  608.    2. Remember that the region fill routine is only capable of filling
  609.      (black) colored areas. A great example of what can happen is my stellar
  610.      example of the San Jose Airport diagram - although it's not complete -
  611.      I decided to include it as a perfect example of what not to do. Notice 
  612.      that I filled (green) then drew a building outline in (yellow) on the
  613.      left side and could not fill it with (yellow). Plan your fills carefully.
  614.      Another hint - DO NOT add text or shapes before you fill regions. If you
  615.      do - you will end up dropping RF seeds everywhere to get solid colors
  616.      where you want them. I included the fill routine primarily for approach
  617.      plates and airport diagrams. 
  618.  
  619.    3. Use the subdued fill colors for land areas and water. This makes the
  620.      brighter colors for course lines and text really stand out!
  621.  
  622.    4. To draw a runway - use the line cascade feature. First draw a line
  623.      representing one side of the runway. Shift the dot cursor in X-Y to the
  624.      opposite side at the same end and press the "e" key. Remember how many
  625.      pixels you shifted in x and y. Now move the dot cursor back to the 
  626.      start point and then shift it the same  number of pixels in x-y as you
  627.      did at the bottom and press the "e" key again. You get two nice parallel
  628.      lines. Then just connect the last two line ends. 
  629.  
  630.    5. As you construct images - use a plastic triangle and ruler to get 
  631.      better orientation of angles and lines on the display. I have found
  632.      a ruler scaled in millimeters to be particularly useful. In the Terminal
  633.      Procedures Publication an approach plate diagram box is usually 120 X
  634.      120 MM. In this area on the display x varys from 1 to 638 and y varys
  635.      from 20 to 465. So we arrive at scaling factors of (5.32) pixels per MM
  636.      in (X) and (3.72) pixels per MM in (Y). I use a small programmable
  637.      calculator for quick conversions. 
  638.  
  639.    6. Enter minimums text in the lower section of an approach plate first!
  640.      Draw the separation lines afterward. Remember that the text cursor 
  641.      movement is jumpy and limited by pane and border boundary lines.
  642.      Sometimes there are areas where you can't get the cursor to! 
  643.  
  644.    7. When you enter text near the right side of the image. Position the
  645.      cursor next to the border and move it towards the left using the arrow
  646.      key and count the message backward including spaces. Then type the
  647.      text towards the right. This way everything will fit with no surprises.
  648.      REMEMBER: No carriage return key is used.
  649.  
  650.  
  651. -----------------------------------------------------------------------------
  652. -----------------------------------------------------------------------------
  653.  
  654.  
  655.    NOTES:
  656.  
  657.           The program uses graphics mode 012H ( 640 x 480 VGA 16 colors )
  658.           exclusively. I'm not really sure how much video memory is required
  659.           to run this program. Certainly more than 64K. My apologies for not
  660.           knowing this info.
  661.  
  662.           I have had a report of a problem with an ATI VGA WONDER display
  663.           card when running a program using techniques that this program 
  664.           uses! I have no idea why! If you should sucessfully run this 
  665.           editor and display module on this display adaptor please let me
  666.           know and thanks! 
  667.  
  668.           I have tested the editor on every display adaptor I have access
  669.           to. It has run okay on the following:
  670.  
  671.           DIAMOND SPEEDSTAR -
  672.           PARADISE VGA PLUS 16 -
  673.           VIDEO-7 1024i/512K -
  674.           NORTHGATE VGA -
  675.           3 OTHER ANONYMOUS DISPLAY ADAPTORS -
  676.  
  677.           My apologys if this does not run on your adaptor - I programmed
  678.           for a long time on a IBM CGA waiting for a "STANDARD" to emerge
  679.           and it looks like here we go again! Just look at the number of
  680.           configuration files that come with GIF viewers to see what I mean!
  681.  
  682.           These programs are distributed under the NO WARE concept. I'll let
  683.           you know when I figure out what that means! In any event do not
  684.           hesitate to distribute them - no strings attached! Have fun. Enjoy
  685.           flying! I expect to see some really crazy approaches and departures
  686.           from all this - also a few things I haven't even anticipated! Your
  687.           comments - observations and ideas are always welcome. I am about
  688.           to embark on my "DAY" job in the merchant marine for about the next
  689.           4 months - so if any major problems develop with the software -
  690.           please be patient. The "BOX" is going with me on the ship and rest
  691.           assurred I  will be working on version 2.0 during my time off.
  692.  
  693.  
  694.       JIM DUKAT
  695.       74040,1573      
  696.           
  697.  
  698.    
  699.